package com.bzkj.basicinfo.domain.warehouse;

import com.bzkj.common.annotation.Excel;
import com.bzkj.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 出库单据明细对象 PDA_WareHouseOut_Bills_Detail
 *
 * @author system
 * @date 2025-10-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PdaWarehouseOutBillsDetail extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @JsonProperty("id")
    private Long id;

    /** 单据号 */
    @Excel(name = "单据号")
    @JsonProperty("billsId")
    private String billsId;

    /** 药品ID */
    @Excel(name = "药品ID")
    @JsonProperty("drugId")
    private String drugId;

    /** 药品名称 */
    @Excel(name = "药品名称")
    @JsonProperty("drugName")
    private String drugName;

    /** 规格 */
    @Excel(name = "规格")
    @JsonProperty("drugGg")
    private String drugGg;

    /** 单位 */
    @Excel(name = "单位")
    @JsonProperty("drugDw")
    private String drugDw;

    /** 数量 */
    @Excel(name = "数量")
    @JsonProperty("drugNum")
    private String drugNum;

    /** 确认数量 */
    @Excel(name = "确认数量")
    @JsonProperty("drugCheckNum")
    private String drugCheckNum;

    /** 生产厂家 */
    @Excel(name = "生产厂家")
    @JsonProperty("drugCd")
    private String drugCd;

    /** 编号 */
    @Excel(name = "编号")
    @JsonProperty("drugBh")
    private String drugBh;

    /** 批号 */
    @Excel(name = "批号")
    @JsonProperty("drugBatchNo")
    private String drugBatchNo;

    /** 生产日期 */
    @Excel(name = "生产日期")
    @JsonProperty("drugPd")
    private String drugPd;

    /** 有效期 */
    @Excel(name = "有效期")
    @JsonProperty("drugExp")
    private String drugExp;

    /** 温度 */
    @JsonProperty("drugTemp")
    private String drugTemp;

    /** 备注1 */
    @JsonProperty("remarks1")
    private String remarks1;

    /** 备注2 */
    @JsonProperty("remarks2")
    private String remarks2;

    /** 标识 */
    @JsonProperty("flag")
    private String flag;

    /** 单据序号 */
    @Excel(name = "单据序号")
    @JsonProperty("billsSn")
    private String billsSn;

    /** 仓库ID */
    @JsonProperty("stoId")
    private String stoId;

    /** 用户ID */
    @JsonProperty("userId")
    private String userId;

    /** 单价 */
    @JsonProperty("drugDj")
    private String drugDj;

    /** 金额 */
    @JsonProperty("drugJe")
    private String drugJe;

    /** 批准文号 */
    @JsonProperty("drugPzwh")
    private String drugPzwh;

    /** 备注 */
    @JsonProperty("remarks")
    private String remarks;

    // 以下字段用于前端显示
    /** 库区名称 */
    @Excel(name = "库区")
    private String huowname;

    /** 架位号 */
    @Excel(name = "架位号")
    private String jwh;

    /** 药品编码 */
    @Excel(name = "药品编码")
    private String spbh;

    /** 单位 */
    @Excel(name = "单位")
    private String dw;

    /** 保质期 */
    @Excel(name = "生产日期")
    private String baozhiqi;

    /** 失效日期 */
    @Excel(name = "有效期")
    private String sxrq;

    /** 上架日期字符串 */
    @Excel(name = "上架日期")
    private String upStockDateStr;

    /** 库存状态(0:待检, 1:合格, 2:不合格) */
    @Excel(name = "库存状态")
    @JsonProperty("stockStatus")
    private String stockStatus;

    /** 拣货人ID */
    @JsonProperty("pickingUserId")
    private String pickingUserId;

    /** 拣货人姓名 */
    @Excel(name = "拣货人")
    @JsonProperty("pickingUserName")
    private String pickingUserName;

    /** 拣货时间 */
    @Excel(name = "拣货时间")
    @JsonProperty("pickingTime")
    private String pickingTime;

    /** 货位号 */
    @Excel(name = "货位号")
    @JsonProperty("locationCode")
    private String locationCode;
}
